Synthesizing Executable Programs
نویسنده
چکیده
Automatic generation of correct software from requirements has long been a “holy grail” for system and software development. According to this vision, instead of implementing a system and then working hard to apply testing and verification methods to prove system correctness, a system is rather built correctly by construction. This problem, referred to as synthesis, is undecidable in the general case. However, by restricting the domain to decidable subsets, it is possible to bring this vision one step closer to reality. The focus of our study is reactive systems, or non-terminating programs that continuously receive input from an external environment and produce output responses. Reactive systems are often safety critical and include applications such as anti-lock braking systems, auto-pilots, and pacemakers. One of the challenges of reactive system design is ensuring that the software meets the requirements under the assumption of unpredictable environment input. The behavior of many of these systems can be expressed as regular languages over infinite strings, a domain in which synthesis has yielded successful results. We present a method for synthesizing executable reactive systems from formal requirements. The object-oriented requirements language of Live Sequence Charts (LSCs)
منابع مشابه
Toward Synthesizing Executable Models in Biology
Over the last decade, executable models of biological behaviors have repeatedly provided new scientific discoveries, uncovered novel insights, and directed new experimental avenues. These models are computer programs whose execution mechanistically simulates aspects of the cell's behaviors. If the observed behavior of the program agrees with the observed biological behavior, then the program ex...
متن کاملA Spatial Constraint Satisfaction Framework for Synthesizing Perceptions and Actions in Diagrammatic Reasoning
Diagrammatic reasoning is often modeled as a process in which subtasks may be solved, as appropriate, either by inference from symbolic representations or by information extracted by perception from a diagram, and additional subtasks may create or modify objects in the diagram. The required perceptions and actions are defined in terms of properties and relations to be satisfied by a set of diag...
متن کاملGuided Synthesis of Control Programs for a Batch Plant using UPPAAL
In this paper we address the problem of scheduling and synthesizing distributed control programs for a batch production plant. We use a timed automata model of the batch plant and the verification tool Uppaal to solve the scheduling problem. In modeling the plant, we aim at a level of abstraction which is sufficiently accurate in order that synthesis of control programs from generated timed tra...
متن کاملBPELDebugger: An effective BPEL-specific fault localization framework
Context: Business Process Execution Language (BPEL) is a widely recognized executable service composition language, which is significantly different from typical programming languages in both syntax and semantics, and especially shorter in program scale. How to effectively locate faults in BPEL programs is an open and challenging problem. Objective: In this paper, we propose a fault localizatio...
متن کاملComputing Executable Slices for Concurrent Logic Programs
Program Slicing has many applications in software engineering activities. However, until recently, no slicing algorithm has been presented that can compute executable slices for concurrent logic programs. In this paper we present a dependence-graph based approach to computing executable slice for concurrent logic programs. The dependence-based representation used in this paper is called the Arg...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2008